package com.suyx.job.core;

import java.util.List;

/**
 * @Description:
 * @author: suyx
 * @date: 2019年09月28日 11:20
 */
public interface IHoldService {

    /**
     * 根据类对象获取类实例
     * @param t
     * @param <T>
     * @return
     */
    <T> T getServiceInstance(Class<T> t) throws Exception;

    /**
     * 根据服务名获取服务实例
     * @param serviceName
     * @param <T>
     * @return
     */
    <T> T getServiceInstance(String serviceName) throws Exception;

    /**
     * 根据类名获取类实例集合
     * @param clazz
     * @param <T>
     * @return
     */
    <T> List<T> getServiceInstances(Class<T> clazz) throws Exception;
}
